package com.joolun.mall.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.joolun.common.annotation.Excel;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


@Data
public class DwsVipOrderStat extends Model<DwsVipOrderStat> {

    /**
     * 店铺id
     */
    private Integer shopId; // 店铺id

    /**
     * 淘宝会员名
     */
    @Excel(name = "旺旺ID")
    private String tbUserId; // 买家会员名

    /**
     * 旺店通加密id
     */
    @Excel(name = "旺店通加密ID")
    private String wdtEncodeUserId; // 旺店通加密id
    /**
     * 店铺名称
     */
    @Excel(name = "所属店铺")
    private String shopName;// 店铺名称

    /**
     * VIP会员类型值
     */
    @Excel(name = "用户等级")
    private String vipTypeValue;

    /**
     *  下单次数
     */
    @Excel(name = "下单次数")
    private BigDecimal orderNum; // 下单次数



    /**
     * 购买件数
     */
    @Excel(name = "购买件数")
    private BigDecimal saleQty; // 销售数量
    /**
     * 购买金额
     */
    @Excel(name = "购买金额")
    private BigDecimal saleAmt; // 销售金额

    /**
     * 退款件数
     */
    @Excel(name = "退款件数")
    private BigDecimal refundQty; // 退款件数

    /**
     * 退款金额
     */
    @Excel(name = "退款总金额")
    private BigDecimal refundAmt; // 退款金额

    /**
     * 退款金额
     */
    @Excel(name = "退款率%")
    private BigDecimal refundRate; // 退款金额

    /**
     * 实购总件数
     */
    @Excel(name = "实购总件数")
    private BigDecimal realQty; //实购总件数
    /**
     * 实购总金额
     */
    @Excel(name = "实购总金额")
    private BigDecimal realAmt;
    /**
     * 发货前退款率
     */
    @Excel(name = "发货前退款率%")
    private BigDecimal refundBfRate; //发货前退款率
    /**
     * 发货后退款率
     */
    @Excel(name = "发货后退款率%")
    private BigDecimal refundAfRate; //发货后退款率



    /**
     * 品牌id
     */
    private Integer brandId; // 品牌id
    /**
     *  支付日期
     */
    private Date payDate; // 支付日期

    @Excel(name = "好评率%")
    private BigDecimal positiveRate;

    @Excel(name = "中评率%")
    private BigDecimal mediumRate;

    @Excel(name = "差评率%")
    private BigDecimal negativeRate;

//    private BigDecimal subOrderNum; // 子订单数量


//    private BigDecimal refundQtyBfstock; // 发货前退款数量
//    private BigDecimal refundAmtBfstock; // 发货前退款金额
//    private BigDecimal refundQtyAfstock; // 发货后退款数量
//    private BigDecimal refundAmtAfstock; // 发货后退款金额
    /**
     * VIP会员类型
     */
    private String vipType;



    //-----------查询参数 不在数据库表中的字段-------------------------------------------------------------------------------------------------------

    /**
     * 排序字段  传对应字段的驼峰转表名字段 如 refundBfRate 字段为 refund_bf_rate
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private String orderFiled;

    /**
     * 传入 desc 升序 asc 降序
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private String rank;

    /**
     * 店铺列表参数
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private List<Integer> shopIds;

    /**
     * vip类型列表
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private List<String> vipTypes;

    /**
     * 淘宝id列表
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private List<String> tbUserIds;

    /**
     * 旺店通加密id列表
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private List<String> wdtEncodeUserIds;

    /**
     * 支付时间-- 开始日期
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private String payDateStart;

    /**
     * 支付时间-- 截止日期
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private String payDateEnd;


    /**
     *  购买金额 -- 开始金额
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private BigDecimal saleAmtStart; // 销售数量

    /**
     *  购买金额 -- 结束金额
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private BigDecimal saleAmtEnd; // 销售数量

    /**
     *  退款金额 -- 开始金额
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private BigDecimal refundAmtStart; // 销售数量

    /**
     *  退款金额 -- 结束金额
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private BigDecimal refundAmtEnd; // 销售数量

    /**
     *  实购金额 -- 开始金额
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private BigDecimal realAmtStart; // 销售数量

    /**
     *  实购金额 -- 结束金额
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private BigDecimal realAmtEnd; // 销售数量

    /**
     * 评价类型  positive  medium   negative 好评中评差评
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private String commentType; // 评价类型

    /**
     * 评价值 -- 评价值开始
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private BigDecimal commentValueStart;

    /**
     * 评价值 -- 评价值结束
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private BigDecimal commentValueEnd;
}
